//定义详情模块数据ts类型
export interface ResponseData {
    code: number;
    message: string;
    ok: boolean;
  }
  //代表医院详情的数据
  export interface HosPitalDetail {
    bookingRule: {
      cycle: number;
      releaseTime: string;
      stopTime: string;
      quitDay: number;
      quitTime: string;
      rule: string[];
    };
    hospital: {
      id: string;
      createTime: string;
      updateTime: string;
      isDeleted: number;
      param: {
        hostypeString: string;
        fullAddress: string;
      };
      hoscode: string;
      hosname: string;
      hostype: string;
      provinceCode: string;
      cityCode: string;
      districtCode: string;
      address: string;
      logoData: string;
      intro: null;
      route: string;
      status: number;
      bookingRule: null;
    };
  }
  
  //医院详情返回数据ts
  export interface HospitalDetail extends ResponseData {
    data: HosPitalDetail;
  }
  
  //代表医院科室的数据
  export interface Deparment {
    depcode: string;
    depname: string;
    children?: Deparment[];
  }
  
  //代表存储科室数组类型
  export type DeparmentArr = Deparment[];
  //获取科室接口返回的数据类型
  export interface DeparmentResponseData extends ResponseData {
    data: DeparmentArr;
  }
  
  //用户登录接口需要携带参数类型
  export interface LoginData {
    phone: string;
    code: string;
  }
  
  //登录接口返回用户信息数据
  export interface UserInfo {
    name: string;
    token: string;
  }
  //登录接口返回的数据的ts类型
  export interface UserLoginResponseData extends ResponseData {
    data: UserInfo;
  }
  
  //定义微信扫码登录返回的数据的ts类型
  export interface WXLogin {
    redirectUri: string;
    appid: string;
    scope: string;
    state: string;
  }
  
  export interface WXLoginResponseData extends ResponseData {
    data: WXLogin;
  }
  
  //医院预约挂号数据
  export interface BaseMap {
    workDateString: string;
    releaseTime: string;
    bigname: string;
    stopTime: string;
    depname: string;
    hosname: string;
  }
  
//当天预约挂号的所有详情数据
  export interface WorkData {
    workDate: string;
    workDateMd: string;
    dayOfWeek: string;
    docCount: number;
    reservedNumber: null;
    availableNumber: number;
    status: number;
  }
  
  export type BookingScheduleList = WorkData[];
  
  export interface HospitalWordData extends ResponseData {
    data: {
      total: number;
      bookingScheduleList: BookingScheduleList;
      baseMap: BaseMap;
    };
  }
  
  //代表的是一个医生的数据
  export interface Doctor {
    id: string;
    createTime: string;
    updateTime: string;
    isDeleted: string;
    param: {
      dayOfWeek: string;
      depname: string;
      hosname: string;
    };
    hoscode: string;
    depcode: string;
    title: string;
    docname: string;
    skill: string;
    workDate: string;
    workTime: number;
    reservedNumber: number;
    availableNumber: number;
    amount: number;
    status: number;
    hosScheduleId: string;
  }
  
  //数组包含全部医生
  export type DocArr = Doctor[];
  //获取医生排班接口返回的数据
  export interface DoctorResponseData extends ResponseData {
    data: DocArr;
  }
  
  //代表的是一个就诊人数据ts类型
  export interface User {
    id: number;
    createTime: string;
    updateTime: string;
    isDeleted: number;
    param: {
      certificatesTypeString: string;
      contactsCertificatesTypeString: string;
      cityString: null;
      fullAddress: string;
      districtString: null;
      provinceString: null;
    };
    userId: number;
    name: number;
    certificatesType: string;
    certificatesNo: string;
    sex: number;
    birthdate: string;
    phone: string;
    isMarry: number;
    provinceCode: null;
    cityCode: null;
    districtCode: null;
    address: string;
    contactsName: string;
    contactsCertificatesType: string;
    contactsCertificatesNo: string;
    contactsPhone: string;
    isInsure: number;
    cardNo: null;
    status: string;
  }
  export type UserArr = User[];
  export interface UserResponseData extends ResponseData {
    data: UserArr;
  }
  
  //获取某一个挂号医生数据详情
  
  export interface DoctorInfoData extends ResponseData {
    data: Doctor;
  }
  